 <div data-hook="admin_order_form_fields">
  <% if @line_item.try(:errors).present? %>
    <%= render 'spree/admin/shared/error_messages', target: @line_item %>
  <% end %>

  <% if Spree::Order.checkout_step_names.include?(:delivery) %>
    <%= render partial: "spree/admin/orders/shipment", collection: @order.shipments.order(:created_at), locals: {order: order} %>
  <% else %>
    <%= render "spree/admin/orders/line_items", order: order %>
  <% end %>

  <%= render "spree/admin/orders/adjustments",
        adjustments: @order.line_item_adjustments,
        order: order,
        title: Spree.t(:line_item_adjustments)
  %>
  <%= render "spree/admin/orders/adjustments",
        adjustments: @order.shipment_adjustments,
        order: order,
        title: Spree.t(:shipment_adjustments)
  %>
  <%= render "spree/admin/orders/adjustments",
        adjustments: @order.adjustments,
        order: order,
        title: Spree.t(:order_adjustments)
  %>

  <% if order.line_items.exists? %>
    <div class="alert alert-success" id="order-total" data-hook="order_details_total">
      <%= Spree.t(:order_total) %>:
      <strong class="order-total">
        <%= order.display_total %>
      </strong>
    </div>
  <% end %>

  <%= javascript_tag do %>
    var order_number = '<%= @order.number %>';
    var shipments = [];

    <% @order.shipments.each do |shipment| %>
      shipments.push(
        <%== shipment.as_json(
          root: false,
          only: [
            :id, :tracking, :number, :state, :stock_location_id
          ], include: [
            :inventory_units, :stock_location
          ]).to_json
        %>
      );
    <% end %>

    <%= render partial: 'spree/admin/shared/update_order_state', handlers: [:js] %>
  <% end %>
</div>
